Lifespan study: SURF1 & Hypoxia

1 Preparation

library(tidyverse)
library(ggpubr)
source("Themes.R")
source("Functions.R")

### Select Seahorse dates to include in the analysis
Seahorse_dates <- c("2020-10-31", #SH2
                    "2020-11-05", #SH3
                    "2020-11-10", #SH4
                    "2020-11-19", #SH5
                    "2020-11-24", #SH6
                    "2020-12-03", #SH7
                    "2020-12-17", #SH9
                    "2020-12-22", #SH10
                    "2020-12-29", #SH11
                    "2021-01-05", #SH12
                    "2021-01-12", #SH13
                    "2021-01-26", #SH14
                    "2021-02-03", #SH15
                    "2021-02-18", #SH16
                    "2021-03-18", #SH17
                    "2021-04-15", #SH18
                     "2021-05-12",
                     "2021-06-10") #SH19
Seahorse_Experiment_Names <- c("SH2-Plate1", 
                               "SH2-Plate2",
                               "SH3-Plate1", 
                               "SH4-Plate1",
                               "SH4-Plate2",
                               "SH5-Plate1",
                               "SH5-Plate2",
                               "SH6",
                               "SH7",
                               "SH9",
                               "SH10",
                               "SH11",
                               "SH12",
                               "SH13",
                               "SH14",
                               "SH15",
                               "SH16",
                               "SH17",
                               "SH18",
                               "SH19",
                               "SH20")
Seahorse_names <- c("Baseline_Respiration", 
                    "NonMitochondrial_Respiration", 
                    "Basal_Respiration", 
                    "Max_Respiration", 
                    "Spare_Respiration",
                    "Proton_Leak", 
                    "ATPlinked_Respiration", 
                    "Coupling_Efficiency", 
                    "Baseline_ECAR", 
                    "Max_ECAR", 
                    "Spare_ECAR", 
                    "ATPtotal", 
                    "ATPglyc",
                    "ATPox", 
                    "ATPtotal_max", 
                    "ATPglyc_max", 
                    "ATPox_max", 
                    "ATPtotal_spare", 
                    "ATPox_spare",
                    "ATPglyc_spare", 
                    "Resting_Metabolic_Rate", 
                    "Max_Metabolic_Rate", #"PicoWatts", "Max_PicoWatts", 
                    "OCRcoupled")

# Remove hfB6 2020-11-18\
# Because already contaminated\
# From 2020-11-23 on hFB6 & hFB7 Hypoxia and normoxia excluded due to contamination\
#source(here::here("Scripts", "2020-10-29_Cell_Count_to_Lifespan.R"))
#source(here::here("Scripts","2020-10-30-Seahorse_Data_Analysis.R"))
#source(here::here("ASM_01","Functions.R"))

#### Read the lifespan document created in "2020-10-29_Cell_Count_to_Lifespan.R"
data_Lifespan <- read.csv(here::here("4_Processed_Datasets","data_Lifespan.csv")) %>%
  select(-c(X, Hour, Exp_Start, Split_date_time, New_Plated, Hypoxia_vs_Normoxia_Start,
            Hours_per_Passage, Days_per_Passage)) %>%

  mutate(Date_of_Seahorse = as.Date(Date_of_Seahorse)) %>%
  mutate(Date = as.Date(Date))
#data_Lifespan <- data_Lifespan[1:130,]
#### Read the lifespan document created in "22020-10-30-Seahorse_Data_Analysis.R"
data_Seahorse<- list.files(here::here("10_Data_Seahorse_Final"), pattern = "*.csv", full.names = T) %>%
  lapply(read_csv) %>%                                           
  bind_rows %>%
  separate(X1, into=c("Cell_Line","Condition", "Percent_Oxygen")) %>% select(-contains("PPR")) %>%
  filter(!(Cell_Line %in% "hFB6"&Date_of_Seahorse == "2020-11-19")) %>%
  filter(!(Cell_Line %in% "hFB6"&Date_of_Seahorse == "2020-11-23")) %>%
  filter(!(Cell_Line %in% "hFB7"& Date_of_Seahorse == "2020-11-23")) %>%
  filter(Experiment_Name %in% Seahorse_Experiment_Names) %>%
  mutate(Percent_Oxygen = as.numeric(Percent_Oxygen))


data_combined <- data_Lifespan %>%
  full_join(data_Seahorse, by=c("Cell_Line", "Date_of_Seahorse",
                                               "Percent_Oxygen", "Condition")) %>%
   mutate(CellVol = (4/3) * pi * (Av_Cell_Size_um/2)^3) %>%
  unite(Condition_Ox, Condition, Percent_Oxygen, remove = F) %>%
  unite(Cell_Line_Ox, Cell_Line, Percent_Oxygen, remove = F) %>%
  mutate(Date_of_Seahorse = as.character(Date_of_Seahorse)) %>%
  mutate(Condition_Ox = as.factor(Condition_Ox)) %>%
  mutate(Cell_Line_Ox = as.factor(Cell_Line_Ox)) %>%
  mutate(Percent_Oxygen = as.factor(Percent_Oxygen)) #%>%
  #select(-Date_of_Seahorse)

#### Separate independent and dependent variables
independent_vars <- c("Cell_Line", "Percent_Oxygen", "Old_Passage", 
                       "Condition",  "Condition_Ox", "Date_of_Seahorse",
                      "Days_Grown","Experiment_Name", "Cell_Line_Ox", "Date")

dependent_vars <- colnames(data_combined)[!colnames(data_combined) %in% c(independent_vars)] 

2 Lifespan

2.1 Population Doublings

data_combined %>% separateLines(feature = Population_Doublings, plotlines = "smooth", 
    DoF = 3)

data_combined %>% separateLines_multi(feature = Population_Doublings, plotlines = "smooth", 
    DoF = 3)

data_combined %>% separateLines_multi(feature = Population_Doublings, plotlines = "connectPoints")

data_combined %>% boxplot_multi(feature = Population_Doublings)

2.2 Population doubling rate

data_combined %>% separateLines(feature = Population_Doubling_Rate, plotlines = "smooth", 
    DoF = 3)

data_combined %>% separateLines_multi(feature = Population_Doubling_Rate, plotlines = "smooth", 
    DoF = 3)

data_combined %>% separateLines_multi(feature = Population_Doubling_Rate, plotlines = "connectPoints")

data_combined %>% boxplot_multi(feature = Population_Doubling_Rate)

2.3 Cell Volume

data_combined %>% separateLines(feature = CellVol, plotlines = "smooth", DoF = 3)

data_combined %>% separateLines_multi(feature = CellVol, plotlines = "smooth", DoF = 3)

data_combined %>% separateLines_multi(feature = CellVol, plotlines = "connectPoints")

data_combined %>% boxplot_multi(feature = CellVol)

2.4 Cell Death

data_combined %>% separateLines(feature = Av_Percent_Dead, plotlines = "smooth", 
    DoF = 3)

data_combined %>% separateLines_multi(feature = Av_Percent_Dead, plotlines = "smooth", 
    DoF = 3)

data_combined %>% separateLines_multi(feature = Av_Percent_Dead, plotlines = "connectPoints")

data_combined %>% boxplot_multi(feature = Av_Percent_Dead)

3 Seahorse Bioenergetics - Resting

3.1 ATP total

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = ATPtotal, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPtotal, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPtotal, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = ATPtotal)

3.2 ATP Ox

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = ATPox, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPox, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPox, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = ATPox)

3.3 ATP Glyc

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = ATPglyc, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPglyc, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPglyc, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = ATPglyc)

3.4 Baseline_Respiration

Baseline_Respiration = OCR in resting state, no drugs added

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = Baseline_Respiration, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = Baseline_Respiration, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = Baseline_Respiration, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = Baseline_Respiration)

3.5 Basal_Respiration

Basal_Respiration = Baseline_Respiration - NonMito_Respiration (after Rotenone/AntimycinA)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = Basal_Respiration, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = Basal_Respiration, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = Basal_Respiration, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = Basal_Respiration)

3.6 Baseline_ECAR

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = Baseline_ECAR, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = Baseline_ECAR, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = Baseline_ECAR, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = Baseline_ECAR)

3.7 Resting metabolic rate

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = Resting_Metabolic_Rate, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = Resting_Metabolic_Rate, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = Resting_Metabolic_Rate, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = Resting_Metabolic_Rate)

4 Seahorse Bioenergetics - Mito stress test

4.1 ATPtotal_max

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = ATPtotal_max, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPtotal_max, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPtotal_max, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = ATPtotal_max)

4.2 ATPtotal_spare

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = ATPtotal_spare, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPtotal_spare, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPtotal_spare, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = ATPtotal_spare)

4.3 ATPox_max

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = ATPox_max, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPox_max, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPox_max, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = ATPox_max)

4.4 ATPox_spare

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = ATPox_spare, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPox_spare, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPox_spare, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = ATPox_spare)

4.5 ATPglyc_max

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = ATPglyc_max, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPglyc_max, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPglyc_max, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = ATPglyc_max)

4.6 ATPglyc_spare

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = ATPglyc_spare, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPglyc_spare, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = ATPglyc_spare, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = ATPglyc_spare)

4.7 Proton leak

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = Proton_Leak, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = Proton_Leak, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = Proton_Leak, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = Proton_Leak)

4.8 Coupling_Efficiency

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines(feature = Coupling_Efficiency, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = Coupling_Efficiency, 
    plotlines = "smooth", DoF = 2)

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% separateLines_multi(feature = Coupling_Efficiency, 
    plotlines = "connectPoints")

data_combined %>% filter(Date_of_Seahorse %in% Seahorse_dates) %>% boxplot_multi(feature = Coupling_Efficiency)